<?php
namespace singleton;

class Singleton
{
    
    /**
     * 自身实例，静态变量
     * 
     * @var object
     */
    private static $_instance;

    /**
     * 自身实例
     * 构造函数被私有化后，不能new这个类了
     * 
     * @return void
     */
    private function __construct()
    {
        
    }

    /**
     * 魔法方法
     * 克隆方法被私有化后，就不能再clone了
     * 
     * @return string
     */
    private function __clone()
    {
        //echo 'clone被禁用了';
    }
    
    /**
     * 获取实例
     * 
     * @return object
     */
    public static function getInstance() 
    {
        if( ! self::$_instance instanceof self) {
            self::$_instance = new self;
        }
        return self::$_instance;
    }

    /**
     * 测试方法
     * 
     * @return string
     */
    public function test() 
    {
        echo "这是个测试！\n";
    }


}